package controllers

// 程序定义公共方法

import (
	"crypto/md5"
	"encoding/hex"

	"github.com/gin-gonic/gin"
)

type Common struct{}

// 返回成功的JSON格式的结构体
type JosnSuccess struct {
	Code    int         `json:"code"`
	Message string      `json:"message"`
	Data    interface{} `json:"data"`
}

// 成功状态返回JSON响应
func ReturnSuccess(c *gin.Context, Code int, Message string, Data interface{}) {
	res := JosnSuccess{Code, Message, Data}
	c.JSON(Code, res)
}

// 返回失败的JSON格式的结构体
type JsonError struct {
	Code    int    `json:"code"`
	Message string `json:"message"`
}

// 失败状态返回JSON响应
func ReturnError(c *gin.Context, Code int, Message string) {
	res := JsonError{Code, Message}
	c.JSON(Code, res)
}

// 字符串转换成MD5字符串
func StringToMd5(str string) string {
	hash := md5.New()
	hash.Write([]byte(str))
	// 计算MD5哈希值
	hashBytes := hash.Sum(nil)
	str = hex.EncodeToString(hashBytes)
	return str
}

// Info接口
func (u Common) info(c *gin.Context) {
	// 用户信息
	// 权限信息
	// 等级信息
	//
}
